DbContext এবং Model হল Entity Framework এর দুটি গুরুত্বপূর্ণ উপাদান, যা ডেটাবেসে ডেটা অ্যাক্সেস করতে ব্যবহৃত হয়। DbContext ক্লাসটি ডেটাবেসের সাথে যোগাযোগের জন্য এবং Model ক্লাসগুলি ডেটাবেসের টেবিলগুলির প্রতিনিধিত্ব করে।
DbContext হল Entity Framework এর মূল ক্লাস, যা ডেটাবেসের টেবিলের সাথে যোগাযোগের মাধ্যম হিসেবে কাজ করে। এই ক্লাসটি ডেটাবেসের সাথে CRUD (Create, Read, Update, Delete) অপারেশন পরিচালনা করতে ব্যবহৃত হয় এবং এটি DbSet প্রপার্টি ব্যবহার করে টেবিলের ডেটার সাথে কাজ করে।
DbContext ক্লাসের মাধ্যমে, আপনি LINQ কুয়েরি ব্যবহার করতে পারেন, ডেটাবেসে নতুন রেকর্ড যুক্ত করতে পারেন, এবং ডেটাবেসের তথ্য আপডেট বা মুছে ফেলতে পারেন।
প্রথমে, একটি DbContext ক্লাস তৈরি করতে হবে যা আপনার ডেটাবেসের সাথে সংযোগ স্থাপন করবে এবং ডেটাবেসের টেবিলগুলোকে DbSet প্রপার্টির মাধ্যমে ব্যবহার করবে।
public class ApplicationDbContext : DbContext
{
public DbSet<Student> Students { get; set; }
public DbSet<Course> Courses { get; set; }
public ApplicationDbContext(string connectionString) : base(connectionString) { }
}
এখানে Students
এবং Courses
হলো ডেটাবেসের টেবিল এবং DbSet এবং DbSet এই টেবিলের ডেটা অ্যাক্সেস করতে ব্যবহৃত হবে। ApplicationDbContext
ক্লাসটি ডেটাবেসের সাথে কাজ করার জন্য ব্যবহৃত হয়।
Model ক্লাসগুলো Entity Framework-এ ডেটাবেসের টেবিলগুলোর প্রতিনিধিত্ব করে। প্রতিটি Model ক্লাস একটি ডেটাবেস টেবিলের সারি (row) এবং ফিল্ড (column)-এর মতো হতে পারে। এগুলো সাধারণত POCO (Plain Old CLR Object) ক্লাস হিসেবে তৈরি করা হয়, যার মধ্যে প্রপার্টি থাকে যা টেবিলের কলামগুলোর সাথে ম্যাচ করে।
এখন, প্রতিটি টেবিলের জন্য একটি Model ক্লাস তৈরি করতে হবে। উদাহরণস্বরূপ, একটি Student
এবং একটি Course
মডেল তৈরি করা যেতে পারে।
public class Student
{
public int StudentID { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
public class Course
{
public int CourseID { get; set; }
public string CourseName { get; set; }
}
এখানে Student
ক্লাসটি একটি ছাত্রের তথ্য ধারণ করে এবং Course
ক্লাসটি কোর্সের তথ্য ধারণ করে।
DbContext এবং Model ক্লাস ব্যবহার করে আপনি ডেটাবেসে CRUD অপারেশন করতে পারবেন। উদাহরণস্বরূপ, ডেটাবেসে একটি নতুন ছাত্র যোগ করা এবং সমস্ত ছাত্রের তালিকা পড়া:
using (var context = new ApplicationDbContext("your_connection_string"))
{
// Insert operation
var newStudent = new Student { Name = "John", Age = 20 };
context.Students.Add(newStudent);
context.SaveChanges(); // Changes to the database
// Read operation
var students = context.Students.ToList();
foreach (var student in students)
{
Console.WriteLine($"Name: {student.Name}, Age: {student.Age}");
}
}
এখানে, ApplicationDbContext
এর মাধ্যমে ডেটাবেসের সাথে যোগাযোগ করা হচ্ছে এবং Students টেবিলের নতুন ডেটা ইনসার্ট করা হচ্ছে। এছাড়া, Students
টেবিলের সব রেকর্ড পড়া হচ্ছে এবং কনসোলে আউটপুট দেখানো হচ্ছে।
DbContext হল আপনার ডেটাবেসের সাথে যোগাযোগের মাধ্যম, যেখানে Model ক্লাসগুলো ডেটাবেসের টেবিলের প্রতিনিধিত্ব করে। DbContext এর DbSet প্রপার্টি গুলি ব্যবহৃত হয় টেবিলের ডেটার উপর অপারেশন করার জন্য।
এভাবে DbContext এবং Model একসাথে ব্যবহার করে আপনি Entity Framework-এর মাধ্যমে ডেটাবেসের বিভিন্ন কার্যক্রম সম্পাদন করতে পারেন, যেমন:
common.read_more